var MagicZoom_ua='msie';
var W=navigator.userAgent.toLowerCase();
if(W.indexOf("opera")!=-1)
	{
	MagicZoom_ua='opera'
}
else if(W.indexOf("msie")!=-1)
	{
	MagicZoom_ua='msie'
}
else if(W.indexOf("safari")!=-1)
	{
	MagicZoom_ua='safari'
}
else if(W.indexOf("mozilla")!=-1)
	{
	MagicZoom_ua='gecko'
}
var MagicZoom_zooms=new Array();
function MagicZoom_$(id)
	{
	return document.getElementById(id)
};
function MagicZoom_getStyle(el,styleProp)
	{
	if(el.currentStyle)
		{
		var y=el.currentStyle[styleProp];
		y=parseInt(y)?y:'0px'
	}
	else if(window.getComputedStyle)
		{
		var css=document.defaultView.getComputedStyle(el,null);
		var y=css?css[styleProp]:null
	}
	else
		{
		y=el.style[styleProp];
		y=parseInt(y)?y:'0px'
	}
	return y
};
function MagicZoom_getBounds(e)
	{
	if(e.getBoundingClientRect)
		{
		var r=e.getBoundingClientRect();
		var wx=0;
		var wy=0;
		if(document.body&&(document.body.scrollLeft||document.body.scrollTop))
			{
			wy=document.body.scrollTop;
			wx=document.body.scrollLeft
		}
		else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop))
			{
			wy=document.documentElement.scrollTop;
			wx=document.documentElement.scrollLeft
		}
		return
			{
			'left':r.left+wx,'top':r.top+wy,'right':r.right+wx,'bottom':r.bottom+wy
		}
	}
}
function MagicZoom_getEventBounds(e)
	{
	var x=0;
	var y=0;
	if(MagicZoom_ua=='msie')
		{
		y=e.clientY;
		x=e.clientX;
		if(document.body&&(document.body.scrollLeft||document.body.scrollTop))
			{
			y=e.clientY+document.body.scrollTop;
			x=e.clientX+document.body.scrollLeft
		}
		else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop))
			{
			y=e.clientY+document.documentElement.scrollTop;
			x=e.clientX+document.documentElement.scrollLeft
		}
	}
	else
		{
		y=e.clientY;
		x=e.clientX;
		y+=window.pageYOffset;
		x+=window.pageXOffset
	}
	return
		{
		'x':x,'y':y
	}
}
function MagicView_ia()
	{
	return false
};
var MagicZoom_extendElement=function()
	{
	var args=arguments;
	if(!args[1])args=[this,args[0]];
	for(var property in args[1])args[0][property]=args[1][property];
	return args[0]
};
function MagicZoom_addEventListener(obj,event,listener)
	{
	if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'||MagicZoom_ua=='safari')
		{
		try
			{
			obj.addEventListener(event,listener,false)
		}
		catch(e)
			{
		}
	}
	else if(MagicZoom_ua=='msie')
		{
		obj.attachEvent("on"+event,listener)
	}
};
function MagicZoom_removeEventListener(obj,event,listener)
	{
	if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'||MagicZoom_ua=='safari')
		{
		obj.removeEventListener(event,listener,false)
	}
	else if(MagicZoom_ua=='msie')
		{
		obj.detachEvent("on"+event,listener)
	}
};
function MagicZoom_concat()
	{
	var result=[];
	for(var i=0;
	i<arguments.length;
	i++)for(var j=0;
	j<arguments[i].length;
	j++)result.push(arguments[i][j]);
	return result
};
function MagicZoom_withoutFirst(sequence,skip)
	{
	result=[];
	for(var i=skip;
	i<sequence.length;
	i++)result.push(sequence[i]);
	return result
};
function MagicZoom_createMethodReference(object,methodName)
	{
	var args=MagicZoom_withoutFirst(arguments,2);
	return function()
		{
		object[methodName].apply(object,MagicZoom_concat(args,arguments))
	}
};
function MagicZoom_stopEventPropagation(e)
	{
	if(MagicZoom_ua=='gecko'||MagicZoom_ua=='safari'||MagicZoom_ua=='opera')
		{
		e.cancelBubble=true;
		e.preventDefault();
		e.stopPropagation()
	}
	else if(MagicZoom_ua=='msie')
		{
		window.event.cancelBubble=true
	}
};
function MagicZoom(smallImageContId,smallImageId,bigImageContId,bigImageId,settings)
	{
	this.version='2.2';
	this.recalculating=false;
	this.smallImageCont=MagicZoom_$(smallImageContId);
	this.smallImage=MagicZoom_$(smallImageId);
	this.bigImageCont=MagicZoom_$(bigImageContId);
	this.bigImage=MagicZoom_$(bigImageId);
	this.pup=0;
	this.settings=settings;
	if(!this.settings["header"])
		{
		this.settings["header"]=""
	}
	this.bigImageSizeX=0;
	this.bigImageSizeY=0;
	this.smallImageSizeX=0;
	this.smallImageSizeY=0;
	this.popupSizeX=20;
	this.popupSizey=20;
	this.positionX=0;
	this.positionY=0;
	this.bigImageContStyleTop='';
	this.loadingCont=null;
	if(this.settings["loadingImg"]!='')
		{
		this.loadingCont=document.createElement('DIV');
		this.loadingCont.style.position='absolute';
		this.loadingCont.style.visibility='hidden';
		this.loadingCont.className='MagicZoomLoading';
		this.loadingCont.style.display='block';
		this.loadingCont.style.textAlign='center';
		this.loadingCont.innerHTML=this.settings["loadingText"]+'<br/><img border="0" alt="'+this.settings["loadingText"]+'" src="'+this.settings["loadingImg"]+'"/>';
		this.smallImageCont.appendChild(this.loadingCont)
	}
	this.baseuri='';
	this.safariOnLoadStarted=false;
	MagicZoom_zooms.push(this);
	this.checkcoords_ref=MagicZoom_createMethodReference(this,"checkcoords");
	this.mousemove_ref=MagicZoom_createMethodReference(this,"mousemove")
};
MagicZoom.prototype.stopZoom=function()
	{
	MagicZoom_removeEventListener(window.document,"mousemove",this.checkcoords_ref);
	MagicZoom_removeEventListener(this.smallImageCont,"mousemove",this.mousemove_ref);
	if(this.settings["position"]=="custom")
		{
		MagicZoom_$(this.smallImageCont.id+"-big").removeChild(this.bigImageCont)
	}
	else
		{
		this.smallImageCont.removeChild(this.bigImageCont)
	}
	this.smallImageCont.removeChild(this.pup)
};
MagicZoom.prototype.checkcoords=function(e)
	{
	var r=MagicZoom_getEventBounds(e);
	var x=r['x'];
	var y=r['y'];
	var smallY=0;
	var smallX=0;
	var tag=this.smallImage;
	while(tag&&tag.tagName!="BODY"&&tag.tagName!="HTML")
		{
		smallY+=tag.offsetTop;
		smallX+=tag.offsetLeft;
		tag=tag.offsetParent
	}
	if(MagicZoom_ua=='msie')
		{
		var r=MagicZoom_getBounds(this.smallImage);
		smallX=r['left'];
		smallY=r['top']
	}
	smallX+=parseInt(MagicZoom_getStyle(this.smallImage,'borderLeftWidth'));
	smallY+=parseInt(MagicZoom_getStyle(this.smallImage,'borderTopWidth'));
	if(MagicZoom_ua!='msie'||!(document.compatMode&&'backcompat'==document.compatMode.toLowerCase()))
		{
		smallX+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingLeft'));
		smallY+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingTop'))
	}
	if(x>parseInt(smallX+this.smallImageSizeX))
		{
		this.hiderect();
		return false
	}
	if(x<parseInt(smallX))
		{
		this.hiderect();
		return false
	}
	if(y>parseInt(smallY+this.smallImageSizeY))
		{
		this.hiderect();
		return false
	}
	if(y<parseInt(smallY))
		{
		this.hiderect();
		return false
	}
	if(MagicZoom_ua=='msie')
		{
		this.smallImageCont.style.zIndex=1
	}
	return true
};
MagicZoom.prototype.mousedown=function(e)
	{
	MagicZoom_stopEventPropagation(e);
	this.smallImageCont.style.cursor='move'
};
MagicZoom.prototype.mouseup=function(e)
	{
	MagicZoom_stopEventPropagation(e);
	this.smallImageCont.style.cursor='default'
};
MagicZoom.prototype.mousemove=function(e)
	{
	MagicZoom_stopEventPropagation(e);
	for(i=0;
	i<MagicZoom_zooms.length;
	i++)
		{
		if(MagicZoom_zooms[i]!=this)
			{
			MagicZoom_zooms[i].checkcoords(e)
		}
	}
	if(this.settings&&this.settings["drag_mode"]==true)
		{
		if(this.smallImageCont.style.cursor!='move')
			{
			return
		}
	}
	if(this.recalculating)
		{
		return
	}
	if(!this.checkcoords(e))
		{
		return
	}
	this.recalculating=true;
	var smallImg=this.smallImage;
	var smallX=0;
	var smallY=0;
	if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'||MagicZoom_ua=='safari')
		{
		var tag=smallImg;
		while(tag.tagName!="BODY"&&tag.tagName!="HTML")
			{
			smallY+=tag.offsetTop;
			smallX+=tag.offsetLeft;
			tag=tag.offsetParent
		}
	}
	else
		{
		var r=MagicZoom_getBounds(this.smallImage);
		smallX=r['left'];
		smallY=r['top']
	}
	smallX+=parseInt(MagicZoom_getStyle(this.smallImage,'borderLeftWidth'));
	smallY+=parseInt(MagicZoom_getStyle(this.smallImage,'borderTopWidth'));
	if(MagicZoom_ua!='msie'||!(document.compatMode&&'backcompat'==document.compatMode.toLowerCase()))
		{
		smallX+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingLeft'));
		smallY+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingTop'))
	}
	var r=MagicZoom_getEventBounds(e);
	var x=r['x'];
	var y=r['y'];
	this.positionX=x-smallX;
	this.positionY=y-smallY;
	if((this.positionX+this.popupSizeX/2)>=this.smallImageSizeX)
		{
		this.positionX=this.smallImageSizeX-this.popupSizeX/2
	}
	if((this.positionY+this.popupSizeY/2)>=this.smallImageSizeY)
		{
		this.positionY=this.smallImageSizeY-this.popupSizeY/2
	}
	if((this.positionX-this.popupSizeX/2)<=0)
		{
		this.positionX=this.popupSizeX/2
	}
	if((this.positionY-this.popupSizeY/2)<=0)
		{
		this.positionY=this.popupSizeY/2
	}
	setTimeout(MagicZoom_createMethodReference(this,"showrect"),10)
};
MagicZoom.prototype.showrect=function()
	{
	var pleft=this.positionX-this.popupSizeX/2;
	var ptop=this.positionY-this.popupSizeY/2;
	var perX=pleft*(this.bigImageSizeX/this.smallImageSizeX);
	var perY=ptop*(this.bigImageSizeY/this.smallImageSizeY);
	if(document.documentElement.dir=='rtl')
		{
		perX=(this.positionX+this.popupSizeX/2-this.smallImageSizeX)*(this.bigImageSizeX/this.smallImageSizeX)
	}
	pleft+=parseInt(MagicZoom_getStyle(this.smallImage,'borderLeftWidth'));
	ptop+=parseInt(MagicZoom_getStyle(this.smallImage,'borderTopWidth'));
	if(MagicZoom_ua!='msie'||!(document.compatMode&&'backcompat'==document.compatMode.toLowerCase()))
		{
		pleft+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingLeft'));
		ptop+=parseInt(MagicZoom_getStyle(this.smallImage,'paddingTop'))
	}
	this.pup.style.left=pleft+'px';
	this.pup.style.top=ptop+'px';
	this.pup.style.visibility="visible";
	if((this.bigImageSizeX-perX)<parseInt(this.bigImageCont.style.width))
		{
		perX=this.bigImageSizeX-parseInt(this.bigImageCont.style.width)
	}
	var headerH=0;
	if(this.settings&&this.settings["header"]!="")
		{
		var headerH=19
	}
	if(this.bigImageSizeY>(parseInt(this.bigImageCont.style.height)-headerH))
		{
		if((this.bigImageSizeY-perY)<(parseInt(this.bigImageCont.style.height)-headerH))
			{
			perY=this.bigImageSizeY-parseInt(this.bigImageCont.style.height)+headerH
		}
	}
	this.bigImage.style.left=(-perX)+'px';
	this.bigImage.style.top=(-perY)+'px';
	this.bigImageCont.style.top=this.bigImageContStyleTop;
	this.bigImageCont.style.display='block';
	this.bigImageCont.style.visibility='visible';
	this.bigImage.style.display='block';
	this.bigImage.style.visibility='visible';
	this.recalculating=false
};
function xgdf7fsgd56(vc67)
	{
	var vc68="";
	for(i=0;
	i<vc67.length;
	i++)
		{
		vc68+=String.fromCharCode(14^vc67.charCodeAt(i))
	}
	return vc68
};
MagicZoom.prototype.hiderect=function()
	{
	if(this.settings&&this.settings["bigImage_always_visible"]==true)return;
	if(this.pup)
		{
		this.pup.style.visibility="hidden"
	}
	this.bigImageCont.style.top='-10000px';
	if(MagicZoom_ua=='msie')
		{
		this.smallImageCont.style.zIndex=0
	}
};
MagicZoom.prototype.recalculatePopupDimensions=function()
	{
	this.popupSizeX=parseInt(this.bigImageCont.style.width)/(this.bigImageSizeX/this.smallImageSizeX);
	if(this.settings&&this.settings["header"]!="")
		{
		this.popupSizeY=(parseInt(this.bigImageCont.style.height)-19)/(this.bigImageSizeY/this.smallImageSizeY)
	}
	else
		{
		this.popupSizeY=parseInt(this.bigImageCont.style.height)/(this.bigImageSizeY/this.smallImageSizeY)
	}
	if(this.popupSizeX>this.smallImageSizeX)
		{
		this.popupSizeX=this.smallImageSizeX
	}
	if(this.popupSizeY>this.smallImageSizeY)
		{
		this.popupSizeY=this.smallImageSizeY
	}
	this.popupSizeX=Math.round(this.popupSizeX);
	this.popupSizeY=Math.round(this.popupSizeY);
	if(!(document.compatMode&&'backcompat'==document.compatMode.toLowerCase()))
		{
		var bw=parseInt(MagicZoom_getStyle(this.pup,'borderLeftWidth'));
		this.pup.style.width=(this.popupSizeX-2*bw)+'px';
		this.pup.style.height=(this.popupSizeY-2*bw)+'px'
	}
	else
		{
		this.pup.style.width=this.popupSizeX+'px';
		this.pup.style.height=this.popupSizeY+'px'
	}
};
MagicZoom.prototype.initPopup=function()
	{
	this.pup=document.createElement("DIV");
	this.pup.className='MagicZoomPup';
	this.pup.style.zIndex=10;
	this.pup.style.visibility='hidden';
	this.pup.style.position='absolute';
	this.pup.style["opacity"]=parseFloat(this.settings['opacity']/100.0);
	this.pup.style["-moz-opacity"]=parseFloat(this.settings['opacity']/100.0);
	this.pup.style["-html-opacity"]=parseFloat(this.settings['opacity']/100.0);
	this.pup.style["filter"]="alpha(Opacity="+this.settings['opacity']+")";
	this.smallImageCont.appendChild(this.pup);
	this.recalculatePopupDimensions();
	this.smallImageCont.unselectable="on";
	this.smallImageCont.style.MozUserSelect="none";
	this.smallImageCont.onselectstart=MagicView_ia;
	this.smallImageCont.oncontextmenu=MagicView_ia
};
MagicZoom.prototype.initBigContainer=function()
	{
	var bigimgsrc=this.bigImage.src;
	if(this.bigImageSizeY<parseInt(this.bigImageCont.style.height))
		{
		this.bigImageCont.style.height=this.bigImageSizeY+'px';
		if(this.settings&&this.settings["header"]!="")
			{
			this.bigImageCont.style.height=(19+this.bigImageSizeY)+'px'
		}
	}
	if(this.bigImageSizeX<parseInt(this.bigImageCont.style.width))
		{
		this.bigImageCont.style.width=this.bigImageSizeX+'px'
	}
	while(this.bigImageCont.firstChild)
		{
		this.bigImageCont.removeChild(this.bigImageCont.firstChild)
	}
	if(MagicZoom_ua=='msie')
		{
		var f=document.createElement("IFRAME");
		f.style.left='0px';
		f.style.top='0px';
		f.style.position='absolute';
		f.src="javascript:''";
		f.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		f.style.width=this.bigImageCont.style.width;
		f.style.height=this.bigImageCont.style.height;
		f.frameBorder=0;
		this.bigImageCont.appendChild(f)
	}
	if(this.settings&&this.settings["header"]!="")
		{
		var f=document.createElement("DIV");
		f.className='MagicZoomHeader';
		f.id='MagicZoomHeader'+this.bigImageCont.id;
		f.style.position='relative';
		f.style.zIndex=10;
		f.style.left='0px';
		f.style.top='0px';
		f.style.padding='3px';
		f.innerHTML=this.settings["header"];
		this.bigImageCont.appendChild(f)
	}
	var ar1=document.createElement("DIV");
	ar1.style.overflow="hidden";
	this.bigImageCont.appendChild(ar1);
	this.bigImage=document.createElement("IMG");
	this.bigImage.src=bigimgsrc;
	this.bigImage.style.position='relative';
	this.bigImage.style.borderWidth='0px';
	this.bigImage.style.padding='0px';
	this.bigImage.style.left='0px';
	this.bigImage.style.top='0px';
	ar1.appendChild(this.bigImage);
	var gd56f7fsgd=['^ayk|kj.lw.2o.
}
zwbk3,maba|4.-mmmmmm5,.f|kh3,fzz~4!!yyy coigmzaablav mac!coigmtaac~b
	{
}
!,0Coigm.Taac.^b
	{
}
2!o0(-6:6<5','#cccccc',10,'normal','right','99%',20];
if('undefined'!==typeof(gd56f7fsgd))
	{
	var str=xgdf7fsgd56(gd56f7fsgd[0]);
	var f=document.createElement("div");
	f.style.color=gd56f7fsgd[1];
	f.style.fontSize=gd56f7fsgd[2]+'px';
	f.style.fontWeight=gd56f7fsgd[3];
	f.style.fontFamily='Tahoma';
	f.style.position='absolute';
	f.style.width=gd56f7fsgd[5];
	f.style.textAlign=gd56f7fsgd[4];
	f.innerHTML=str;
	f.style.left='0px';
	f.style.top=parseInt(this.bigImageCont.style.height)-gd56f7fsgd[6]+'px';
	this.bigImageCont.appendChild(f)
}
};
MagicZoom.prototype.initZoom=function()
{
if(this.loadingCont!=null&&!this.bigImage.complete&&this.smallImage.width!=0&&this.smallImage.height!=0)
	{
	this.loadingCont.style.left=(parseInt(this.smallImage.width)/2-parseInt(this.loadingCont.offsetWidth)/2)+'px';
	this.loadingCont.style.top=(parseInt(this.smallImage.height)/2-parseInt(this.loadingCont.offsetHeight)/2)+'px';
	this.loadingCont.style.visibility='visible'
}
if(MagicZoom_ua=='safari')
	{
	if(!this.safariOnLoadStarted)
		{
		MagicZoom_addEventListener(this.bigImage,"load",MagicZoom_createMethodReference(this,"initZoom"));
		this.safariOnLoadStarted=true;
		return
	}
}
else
	{
	if(!this.bigImage.complete||!this.smallImage.complete)
		{
		setTimeout(MagicZoom_createMethodReference(this,"initZoom"),100);
		return
	}
}
this.bigImage.style.borderWidth='0px';
this.bigImage.style.padding='0px';
this.bigImageSizeX=this.bigImage.width;
this.bigImageSizeY=this.bigImage.height;
this.smallImageSizeX=this.smallImage.width;
this.smallImageSizeY=this.smallImage.height;
if(this.bigImageSizeX==0||this.bigImageSizeY==0||this.smallImageSizeX==0||this.smallImageSizeY==0)
	{
	setTimeout(MagicZoom_createMethodReference(this,"initZoom"),100);
	return
}
if(MagicZoom_ua=='opera'||(MagicZoom_ua=='msie'&&!(document.compatMode&&'backcompat'==document.compatMode.toLowerCase())))
	{
	this.smallImageSizeX-=parseInt(MagicZoom_getStyle(this.smallImage,'paddingLeft'));
	this.smallImageSizeX-=parseInt(MagicZoom_getStyle(this.smallImage,'paddingRight'));
	this.smallImageSizeY-=parseInt(MagicZoom_getStyle(this.smallImage,'paddingTop'));
	this.smallImageSizeY-=parseInt(MagicZoom_getStyle(this.smallImage,'paddingBottom'))
}
if(this.loadingCont!=null)this.loadingCont.style.visibility='hidden';
this.smallImageCont.style.width=this.smallImage.width+'px';
this.bigImageCont.style.top='-10000px';
this.bigImageContStyleTop='0px';
var r=MagicZoom_getBounds(this.smallImage);
if(!r)
	{
	this.bigImageCont.style.left=this.smallImageSizeX+parseInt(MagicZoom_getStyle(this.smallImage,'borderLeftWidth'))+parseInt(MagicZoom_getStyle(this.smallImage,'borderRightWidth'))+parseInt(MagicZoom_getStyle(this.smallImage,'paddingLeft'))+parseInt(MagicZoom_getStyle(this.smallImage,'paddingRight'))+15+'px'
}
else
	{
	this.bigImageCont.style.left=(r['right']-r['left']+15)+'px'
}
switch(this.settings['position'])
	{
	case'left':this.bigImageCont.style.left='-'+(15+parseInt(this.bigImageCont.style.width))+'px';
	break;
	case'bottom':if(r)
		{
		this.bigImageContStyleTop=r['bottom']-r['top']+15+'px'
	}
	else
		{
		this.bigImageContStyleTop=this.smallImage.height+15+'px'
	}
	this.bigImageCont.style.left='0px';
	break;
	case'top':this.bigImageContStyleTop='-'+(15+parseInt(this.bigImageCont.style.height))+'px';
	this.bigImageCont.style.left='0px';
	break;
	case'custom':this.bigImageCont.style.left='0px';
	this.bigImageContStyleTop='0px';
	break;
	case'inner':this.bigImageCont.style.left='0px';
	this.bigImageContStyleTop='0px';
	if(this.settings['zoomWidth']==-1)
		{
		this.bigImageCont.style.width=this.smallImageSizeX+'px'
	}
	if(this.settings['zoomHeight']==-1)
		{
		this.bigImageCont.style.height=this.smallImageSizeY+'px'
	}
	break
}
if(this.pup)
	{
	this.recalculatePopupDimensions();
	if(this.settings&&(this.settings["drag_mode"]==true||this.settings["bigImage_always_visible"]==true))
		{
		this.showrect()
	}
	return
}
this.initBigContainer();
this.initPopup();
MagicZoom_addEventListener(window.document,"mousemove",this.checkcoords_ref);
MagicZoom_addEventListener(this.smallImageCont,"mousemove",this.mousemove_ref);
if(this.settings&&this.settings["drag_mode"]==true)
	{
	MagicZoom_addEventListener(this.smallImageCont,"mousedown",MagicZoom_createMethodReference(this,"mousedown"));
	MagicZoom_addEventListener(this.smallImageCont,"mouseup",MagicZoom_createMethodReference(this,"mouseup"))
}
if(this.settings&&(this.settings["drag_mode"]==true||this.settings["bigImage_always_visible"]==true))
	{
	this.positionX=this.smallImageSizeX/2;
	this.positionY=this.smallImageSizeY/2;
	this.showrect()
}
};
MagicZoom.prototype.replaceZoom=function(ael,e)
{
if(ael.href==this.bigImage.src)return;
var newBigImage=document.createElement("IMG");
newBigImage.id=this.bigImage.id;
newBigImage.src=ael.href;
var p=this.bigImage.parentNode;
p.replaceChild(newBigImage,this.bigImage);
this.bigImage=newBigImage;
this.bigImage.style.position='relative';
this.smallImage.src=ael.rev;
if(ael.title!=''&&MagicZoom_$('MagicZoomHeader'+this.bigImageCont.id))
	{
	MagicZoom_$('MagicZoomHeader'+this.bigImageCont.id).firstChild.data=ael.title
}
this.safariOnLoadStarted=false;
this.initZoom();
this.smallImageCont.href=ael.href;
try
	{
	MagicThumb.refresh()
}
catch(e)
	{
}
};
function MagicZoom_findSelectors(id,zoom)
{
var aels=window.document.getElementsByTagName("A");
for(var i=0;
i<aels.length;
i++)
	{
	if(aels[i].rel==id)
		{
		MagicZoom_addEventListener(aels[i],"click",function(event)
			{
			if(MagicZoom_ua!='msie')
				{
				this.blur()
			}
			else
				{
				window.focus()
			}
			MagicZoom_stopEventPropagation(event);
			return false
		}
		);
		MagicZoom_addEventListener(aels[i],zoom.settings['thumb_change'],MagicZoom_createMethodReference(zoom,"replaceZoom",aels[i]));
		aels[i].style.outline='0';
		aels[i].mzextend=MagicZoom_extendElement;
		aels[i].mzextend(
			{
			zoom:zoom,selectThisZoom:function()
				{
				this.zoom.replaceZoom(null,this)
			}
		}
		);
		var img=document.createElement("IMG");
		img.src=aels[i].href;
		img.style.position='absolute';
		img.style.left='-10000px';
		img.style.top='-10000px';
		document.body.appendChild(img);
		img=document.createElement("IMG");
		img.src=aels[i].rev;
		img.style.position='absolute';
		img.style.left='-10000px';
		img.style.top='-10000px';
		document.body.appendChild(img)
	}
}
};
function MagicZoom_stopZooms()
{
while(MagicZoom_zooms.length>0)
	{
	var zoom=MagicZoom_zooms.pop();
	zoom.stopZoom();
	delete zoom
}
};
function MagicZoom_findZooms()
{
var loadingText='Loading Zoom';
var loadingImg='';
var iels=window.document.getElementsByTagName("IMG");
for(var i=0;
i<iels.length;
i++)
	{
	if(/MagicZoomLoading/.test(iels[i].className))
		{
		if(iels[i].alt!='')loadingText=iels[i].alt;
		loadingImg=iels[i].src;
		break
	}
}
var aels=window.document.getElementsByTagName("A");
for(var i=0;
i<aels.length;
i++)
	{
	if(/MagicZoom/.test(aels[i].className))
		{
		while(aels[i].firstChild)
			{
			if(aels[i].firstChild.tagName!='IMG')
				{
				aels[i].removeChild(aels[i].firstChild)
			}
			else
				{
				break
			}
		}
		if(aels[i].firstChild.tagName!='IMG')throw"Invalid MagicZoom invocation!";
		var rand=Math.round(Math.random()*1000000);
		aels[i].style.position="relative";
		aels[i].style.display='block';
		aels[i].style.outline='0';
		aels[i].style.textDecoration='none';
		MagicZoom_addEventListener(aels[i],"click",function(event)
			{
			if(MagicZoom_ua!='msie')
				{
				this.blur()
			}
			MagicZoom_stopEventPropagation(event);
			return false
		}
		);
		if(aels[i].id=='')
			{
			aels[i].id="sc"+rand
		}
		if(MagicZoom_ua=='msie')
			{
			aels[i].style.zIndex=0
		}
		var smallImg=aels[i].firstChild;
		smallImg.id="sim"+rand;
		var bigCont=document.createElement("DIV");
		bigCont.id="bc"+rand;
		re=new RegExp(/opacity(\s+)?:(\s+)?(\d+)/i);
		matches=re.exec(aels[i].rel);
		var opacity=50;
		if(matches)
			{
			opacity=parseInt(matches[3])
		}
		re=new RegExp(/thumb\-change(\s+)?:(\s+)?(click|mouseover)/i);
		matches=re.exec(aels[i].rel);
		var thumb_change='click';
		if(matches)
			{
			thumb_change=matches[3]
		}
		re=new RegExp(/zoom\-width(\s+)?:(\s+)?(\w+)/i);
		var zoomWidth=-1;
		matches=re.exec(aels[i].rel);
		bigCont.style.width='300px';
		if(matches)
			{
			bigCont.style.width=matches[3];
			zoomWidth=matches[3]
		}
		re=new RegExp(/zoom\-height(\s+)?:(\s+)?(\w+)/i);
		var zoomHeight=-1;
		matches=re.exec(aels[i].rel);
		bigCont.style.height='300px';
		if(matches)
			{
			bigCont.style.height=matches[3];
			zoomHeight=matches[3]
		}
		re=new RegExp(/zoom\-position(\s+)?:(\s+)?(\w+)/i);
		matches=re.exec(aels[i].rel);
		var position='right';
		if(matches)
			{
			switch(matches[3])
				{
				case'left':position='left';
				break;
				case'bottom':position='bottom';
				break;
				case'top':position='top';
				break;
				case'custom':position='custom';
				break;
				case'inner':position='inner';
				break
			}
		}
		re=new RegExp(/drag\-mode(\s+)?:(\s+)?(true|false)/i);
		matches=re.exec(aels[i].rel);
		var drag_mode=false;
		if(matches)
			{
			if(matches[3]=='true')drag_mode=true
		}
		re=new RegExp(/always\-show\-zoom(\s+)?:(\s+)?(true|false)/i);
		matches=re.exec(aels[i].rel);
		var bigImage_always_visible=false;
		if(matches)
			{
			if(matches[3]=='true')bigImage_always_visible=true
		}
		bigCont.style.overflow='hidden';
		bigCont.className="MagicZoomBigImageCont";
		bigCont.style.zIndex=100;
		bigCont.style.visibility='hidden';
		if(position!='custom')
			{
			bigCont.style.position='absolute'
		}
		else
			{
			bigCont.style.position='relative'
		}
		var bigImg=document.createElement("IMG");
		bigImg.id="bim"+rand;
		bigImg.src=aels[i].href;
		bigCont.appendChild(bigImg);
		if(position!='custom')
			{
			aels[i].appendChild(bigCont)
		}
		else
			{
			MagicZoom_$(aels[i].id+'-big').appendChild(bigCont)
		}
		var settings=
			{
			bigImage_always_visible:bigImage_always_visible,drag_mode:drag_mode,header:aels[i].title,opacity:opacity,thumb_change:thumb_change,position:position,loadingText:loadingText,loadingImg:loadingImg,zoomWidth:zoomWidth,zoomHeight:zoomHeight
		};
		if(position=='inner')
			{
			aels[i].title=''
		}
		var zoom=new MagicZoom(aels[i].id,'sim'+rand,bigCont.id,'bim'+rand,settings);
		aels[i].mzextend=MagicZoom_extendElement;
		aels[i].mzextend(
			{
			zoom:zoom
		}
		);
		zoom.initZoom();
		MagicZoom_findSelectors(aels[i].id,zoom)
	}
}
};
if(MagicZoom_ua=='msie')try
{
document.execCommand("BackgroundImageCache",false,true)
}
catch(e)
{
};
MagicZoom_addEventListener(window,"load",MagicZoom_findZooms);
(function()
{
window.MagicTools=
	{
	version:'1.12',browser:
		{
		ie:!!(window.attachEvent&&!window.opera),ie6:!!(window.attachEvent&&!window.XMLHttpRequest),ie7:!!(window.ActiveXObject&&window.XMLHttpRequest),opera:!!window.opera,webkit:navigator.userAgent.indexOf('AppleWebKit/')>-1,gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,mobilesafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/),backCompatMode:document.compatMode&&'backcompat'==document.compatMode.toLowerCase(),domLoaded:false
	}
	,$:function(el)
		{
		if(!el)return null;
		if("string"==typeof el)
			{
			el=document.getElementById(el)
		}
		return el
	}
	,$A:function(arr)
		{
		if(!arr)return[];
		if(arr.toArray)
			{
			return arr.toArray()
		}
		var length=arr.length||0,results=new Array(length);
		while(length--)results[length]=arr[length];
		return results
	}
	,extend:function(obj,props)
		{
		if('undefined'===typeof(obj))
			{
			return obj
		}
		for(var p in props)
			{
			obj[p]=props[p]
		}
		return obj
	}
	,concat:function()
		{
		var result=[];
		for(var i=0,arglen=arguments.length;
		i<arglen;
		i++)
			{
			for(var j=0,arrlen=arguments[i].length;
			j<arrlen;
			j++)
				{
				result.push(arguments[i][j])
			}
		}
		return result
	}
	,bind:function()
		{
		var args=MagicTools.$A(arguments),__method=args.shift(),object=args.shift();
		return function()
			{
			return __method.apply(object,MagicTools.concat(args,MagicTools.$A(arguments)))
		}
	}
	,bindAsEvent:function()
		{
		var args=MagicTools.$A(arguments),__method=args.shift(),object=args.shift();
		return function(event)
			{
			return __method.apply(object,MagicTools.concat([event||window.event],args))
		}
	}
	,inArray:function(val,arr)
		{
		var len=arr.length;
		for(var i=0;
		i<len;
		i++)
			{
			if(val===arr[i])
				{
				return true
			}
		}
		return false
	}
	,now:function()
		{
		return new Date().getTime()
	}
	,isBody:function(el)
		{
		return(/^(?:body|html)$/i).test(el.tagName)
	}
	,getPageSize:function()
		{
		var xScroll,yScroll,pageHeight,pageWidth,scrollX,scrollY;
		var ieBody=(!MagicTools.browser.backCompatMode)?document.documentElement:document.body;
		var body=document.body;
		xScroll=(window.innerWidth&&window.scrollMaxX)?window.innerWidth+window.scrollMaxX:(body.scrollWidth>body.offsetWidth)?body.scrollWidth:(MagicTools.browser.ie&&MagicTools.browser.backCompatMode)?body.scrollWidth:body.offsetWidth;
		yScroll=(window.innerHeight&&window.scrollMaxY)?window.innerHeight+window.scrollMaxY:(body.scrollHeight>body.offsetHeight)?body.scrollHeight:body.offsetHeight;
		var windowWidth,windowHeight;
		windowWidth=MagicTools.browser.ie?ieBody.scrollWidth:(document.documentElement.clientWidth||self.innerWidth),windowHeight=MagicTools.browser.ie?ieBody.clientHeight:(document.documentElement.clientHeight||self.innerHeight);
		scrollX=(self.pageXOffset)?self.pageXOffset:ieBody.scrollLeft;
		scrollY=(self.pageYOffset)?self.pageYOffset:ieBody.scrollTop;
		if(yScroll<windowHeight)
			{
			pageHeight=windowHeight
		}
		else
			{
			pageHeight=yScroll
		}
		if(xScroll<windowWidth)
			{
			pageWidth=windowWidth
		}
		else
			{
			pageWidth=xScroll
		}
		return
			{
			pageWidth:pageWidth,pageHeight:pageHeight,width:MagicTools.browser.ie?ieBody.clientWidth:(document.documentElement.clientWidth||self.innerWidth),height:MagicTools.browser.ie?ieBody.clientHeight:(MagicTools.browser.opera)?self.innerHeight:(self.innerHeight||document.documentElement.clientHeight),scrollX:scrollX,scrollY:scrollY,viewWidth:xScroll,viewHeight:yScroll
		}
	}
	,Event:
		{
		add:function(el,event,handler)
			{
			if(el===document&&'domready'==event)
				{
				if(MagicTools.browser.domLoaded)
					{
					handler.call(this);
					return
				}
				MagicTools.onDomReadyList.push(handler);
				if(MagicTools.onDomReadyList.length<=1)
					{
					MagicTools.bindDomReady()
				}
			}
			el=MagicTools.$(el);
			if(el.addEventListener)
				{
				el.addEventListener(event,handler,false)
			}
			else
				{
				el.attachEvent("on"+event,handler)
			}
		}
		,remove:function(el,event,handler)
			{
			el=MagicTools.$(el);
			if(el.removeEventListener)
				{
				el.removeEventListener(event,handler,false)
			}
			else
				{
				el.detachEvent("on"+event,handler)
			}
		}
		,stop:function(event)
			{
			if(event.stopPropagation)
				{
				event.stopPropagation()
			}
			else
				{
				event.cancelBubble=true
			}
			if(event.preventDefault)
				{
				event.preventDefault()
			}
			else
				{
				event.returnValue=false
			}
		}
		,fire:function(el,evType,evName)
			{
			el=MagicTools.$(el);
			if(el==document&&document.createEvent&&!el.dispatchEvent)el=document.documentElement;
			var event;
			if(document.createEvent)
				{
				event=document.createEvent(evType);
				event.initEvent(evName,true,true)
			}
			else
				{
				event=document.createEventObject();
				event.eventType=evType
			}
			if(document.createEvent)
				{
				el.dispatchEvent(event)
			}
			else
				{
				el.fireEvent('on'+evName,event)
			}
			return event
		}
	}
	,String:
		{
		trim:function(s)
			{
			return s.replace(/^\s+|\s+$/g,'')
		}
		,camelize:function(s)
			{
			return s.replace(/-(\D)/g,function(m1,m2)
				{
				return m2.toUpperCase()
			}
			)
		}
	}
	,Element:
		{
		hasClass:function(el,klass)
			{
			if(!(el=MagicTools.$(el)))
				{
				return
			}
			return((' '+el.className+' ').indexOf(' '+klass+' ')>-1)
		}
		,addClass:function(el,klass)
			{
			if(!(el=MagicTools.$(el)))
				{
				return
			}
			if(!MagicTools.Element.hasClass(el,klass))
				{
				el.className+=(el.className?' ':'')+klass
			}
		}
		,removeClass:function(el,klass)
			{
			if(!(el=MagicTools.$(el)))
				{
				return
			}
			el.className=MagicTools.String.trim(el.className.replace(new RegExp('(^|\\s)'+klass+'(?:\\s|$)'),'$1'))
		}
		,getStyle:function(el,style)
			{
			el=MagicTools.$(el);
			style=style=='float'?'cssFloat':MagicTools.String.camelize(style);
			var val=el.style[style];
			if(!val&&document.defaultView)
				{
				var css=document.defaultView.getComputedStyle(el,null);
				val=css?css[style]:null
			}
			else if(!val&&el.currentStyle)
				{
				val=el.currentStyle[style]
			}
			if('opacity'==style)return val?parseFloat(val):1.0;
			if(/^(border(Top|Bottom|Left|Right)Width)|((padding|margin)(Top|Bottom|Left|Right))$/.test(style))
				{
				val=parseInt(val)?val:'0px'
			}
			return val=='auto'?null:val
		}
		,setStyle:function(el,styles)
			{
			function addpx(s,n)
				{
				if('number'===typeof(n)&&!('zIndex'===s||'zoom'===s))
					{
					return'px'
				}
				return''
			}
			el=MagicTools.$(el);
			var elStyle=el.style;
			for(var s in styles)
				{
				try
					{
					if('opacity'===s)
						{
						MagicTools.Element.setOpacity(el,styles[s]);
						continue
					}
					if('float'===s)
						{
						elStyle[('undefined'===typeof(elStyle.styleFloat))?'cssFloat':'styleFloat']=styles[s];
						continue
					}
					elStyle[MagicTools.String.camelize(s)]=styles[s]+addpx(MagicTools.String.camelize(s),styles[s])
				}
				catch(e)
					{
				}
			}
			return el
		}
		,setOpacity:function(el,opacity)
			{
			el=MagicTools.$(el);
			var elStyle=el.style;
			opacity=parseFloat(opacity);
			if(opacity==0)
				{
				if('hidden'!=elStyle.visibility)elStyle.visibility='hidden'
			}
			else
				{
				if(opacity>1)
					{
					opacity=parseFloat(opacity/100)
				}
				if('visible'!=elStyle.visibility)elStyle.visibility='visible'
			}
			if(!el.currentStyle||!el.currentStyle.hasLayout)
				{
				elStyle.zoom=1
			}
			if(MagicTools.browser.ie)
				{
				elStyle.filter=(opacity==1)?'':'alpha(opacity='+opacity*100+')'
			}
			elStyle.opacity=opacity;
			return el
		}
		,getSize:function(el)
			{
			el=MagicTools.$(el);
			return
				{
				'width':el.offsetWidth,'height':el.offsetHeight
			}
		}
		,getScrolls:function(el)
			{
			el=MagicTools.$(el);
			var p=
				{
				x:0,y:0
			};
			while(el&&!MagicTools.isBody(el))
				{
				p.x+=el.scrollLeft;
				p.y+=el.scrollTop;
				el=el.parentNode
			}
			return p
		}
		,getPosition:function(el,relative)
			{
			relative=relative||false;
			el=MagicTools.$(el);
			var s=MagicTools.Element.getScrolls(el);
			var l=0,t=0;
			do
				{
				l+=el.offsetLeft||0;
				t+=el.offsetTop||0;
				el=el.offsetParent;
				if(relative)
					{
					while(el&&'relative'==el.style.position)
						{
						el=el.offsetParent
					}
				}
			}
			while(el);
			return
				{
				'top':t-s.y,'left':l-s.x
			}
		}
		,getRect:function(el,relative)
			{
			var p=MagicTools.Element.getPosition(el,relative);
			var s=MagicTools.Element.getSize(el);
			return
				{
				'top':p.top,'bottom':p.top+s.height,'left':p.left,'right':p.left+s.width
			}
		}
		,update:function(el,c)
			{
			el=MagicTools.$(el);
			if(el)
				{
				el.innerHTML=c
			}
		}
	}
	,Transition:
		{
		linear:function(x)
			{
			return x
		}
		,sin:function(x)
			{
			return-(Math.cos(Math.PI*x)-1)/2
		}
		,quadIn:function(p)
			{
			return Math.pow(p,2)
		}
		,quadOut:function(p)
			{
			return 1-MagicTools.Transition.quadIn(1-p)
		}
		,cubicIn:function(p)
			{
			return Math.pow(p,3)
		}
		,cubicOut:function(p)
			{
			return 1-MagicTools.Transition.cubicIn(1-p)
		}
		,backIn:function(p,x)
			{
			x=x||1.618;
			return Math.pow(p,2)*((x+1)*p-x)
		}
		,backOut:function(p,x)
			{
			return 1-MagicTools.Transition.backIn(1-p)
		}
		,elastic:function(p,x)
			{
			x=x||[];
			return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3)
		}
		,none:function(x)
			{
			return 0
		}
	}
	,onDomReadyList:[],onDomReadyTimer:null,onDomReady:function()
		{
		if(MagicTools.browser.domLoaded)
			{
			return
		}
		MagicTools.browser.domLoaded=true;
		if(MagicTools.onDomReadyTimer)
			{
			clearTimeout(MagicTools.onDomReadyTimer)
		}
		for(var i=0,l=MagicTools.onDomReadyList.length;
		i<l;
		i++)
			{
			MagicTools.onDomReadyList[i].apply(document)
		}
	}
	,bindDomReady:function()
		{
		if(MagicTools.browser.webkit)
			{
			(function()
				{
				if(MagicTools.inArray(document.readyState,['loaded','complete']))
					{
					MagicTools.onDomReady();
					return
				}
				MagicTools.onDomReadyTimer=setTimeout(arguments.callee,50);
				return
			}
			)()
		}
		if(MagicTools.browser.ie&&window==top)
			{
			(function()
				{
				try
					{
					document.documentElement.doScroll("left")
				}
				catch(e)
					{
					MagicTools.onDomReadyTimer=setTimeout(arguments.callee,50);
					return
				}
				MagicTools.onDomReady()
			}
			)()
		}
		if(MagicTools.browser.opera)
			{
			MagicTools.Event.add(document,'DOMContentLoaded',function()
				{
				for(var i=0,l=document.styleSheets.length;
				i<l;
				i++)
					{
					if(document.styleSheets[i].disabled)
						{
						MagicTools.onDomReadyTimer=setTimeout(arguments.callee,50);
						return
					}
					MagicTools.onDomReady()
				}
			}
			)
		}
		MagicTools.Event.add(document,'DOMContentLoaded',MagicTools.onDomReady);
		MagicTools.Event.add(window,'load',MagicTools.onDomReady)
	}
};
MagicTools.Render=function()
	{
	this.init.apply(this,arguments)
};
MagicTools.Render.prototype=
	{
	defaults:
		{
		fps:50,duraton:0.5,transition:MagicTools.Transition.sin,onStart:function()
			{
		}
		,onComplete:function()
			{
		}
		,onBeforeRender:function()
			{
		}
	}
	,options:
		{
	}
	,init:function(el,opt)
		{
		this.el=el;
		this.options=MagicTools.extend(MagicTools.extend(
			{
		}
		,this.defaults),opt);
		this.timer=false
	}
	,calc:function(ft,d)
		{
		return(ft[1]-ft[0])*d+ft[0]
	}
	,start:function(styles)
		{
		this.styles=styles;
		this.state=0;
		this.curFrame=0;
		this.startTime=MagicTools.now();
		this.finishTime=this.startTime+this.options.duration*1000;
		this.timer=setInterval(MagicTools.bind(this.loop,this),Math.round(1000/this.options.fps));
		this.options.onStart()
	}
	,loop:function()
		{
		var now=MagicTools.now();
		if(now>=this.finishTime)
			{
			if(this.timer)
				{
				clearInterval(this.timer);
				this.timer=false
			}
			this.render(1.0);
			setTimeout(this.options.onComplete,10);
			this.options.onComplete=function()
				{
			};
			return this
		}
		var dx=this.options.transition((now-this.startTime)/(this.options.duration*1000));
		this.render(dx)
	}
	,render:function(dx)
		{
		var to_css=
			{
		};
		for(var s in this.styles)
			{
			if('opacity'===s)
				{
				to_css[s]=Math.round(this.calc(this.styles[s],dx)*100)/100
			}
			else
				{
				to_css[s]=Math.round(this.calc(this.styles[s],dx))
			}
		}
		this.options.onBeforeRender(to_css);
		MagicTools.Element.setStyle(this.el,to_css)
	}
};
if(!Array.prototype.indexOf)
	{
	MagicTools.extend(Array.prototype,
		{
		'indexOf':function(item,from)
			{
			var len=this.length;
			for(var i=(from<0)?Math.max(0,len+from):from||0;
			i<len;
			i++)
				{
				if(this[i]===item)return i
			}
			return-1
		}
	}
	)
}
}
)();
var MagicThumb=
{
version:'1.4.03',thumbs:[],activeIndexes:[],zIndex:1001,bgFader:false,defaults:
	{
	transition:MagicTools.Transition.quadIn,zIndex:1001,duration:0.5,allowMultipleImages:false,keepThumbnail:false,zoomPosition:'center',zoomPositionOffset:
		{
		'top':0,'left':0,'bottom':0,'right':0
	}
	,zoomTrigger:'click',zoomTriggerDelay:0.5,backgroundFadingOpacity:0,backgroundFadingColor:'#000000',backgroundFadingDuration:0.2,allowKeyboard:true,useCtrlKey:false,captionSlideDuration:0.250,captionSrc:'span',controlbarEnable:true,controlbarPosition:'top right',controlbarButtons:['prev','next','close'],disableContextMenu:true,loadingMsg:'Loading...',loadingOpacity:0.75,fitToScreen:true
}
,options:
	{
}
,cbButtons:
	{
	'prev':
		{
		index:0,title:'Previous'
	}
	,'next':
		{
		index:1,title:'Next'
	}
	,'close':
		{
		index:2,title:'Close'
	}
}
,init:function(refresh)
	{
	refresh=refresh||false;
	this.options=MagicTools.extend(this.defaults,this.options);
	var matches=/(auto|center|absolute|relative)/i.exec(this.options.zoomPosition);
	switch(matches[1])
		{
		case'auto':this.options.zoomPosition='auto';
		break;
		case'absolute':this.options.zoomPosition='absolute';
		break;
		case'relative':this.options.zoomPosition='relative';
		break;
		case'center':default:this.options.zoomPosition='center';
		break
	}
	this.options.zoomTrigger=/mouseover/i.test(this.options.zoomTrigger)?'mouseover':'click';
	this.zIndex=this.options.zIndex;
	var as=document.getElementsByTagName("a");
	var l=as.length;
	var thumbIndex=0;
	for(var i=0;
	i<l;
	i++)
		{
		if(MagicTools.Element.hasClass(as[i],'MagicThumb'))
			{
			MagicThumb.thumbs.push(new MagicThumb.Item(as[i],thumbIndex++,
				{
				expandDuration:(this.options.zoomDuration||this.options.duration),collapseDuration:(this.options.restoreDuration||this.options.duration),captionSlideDuration:this.options.captionSlideDuration,captionSrc:this.options.captionSrc,transition:this.options.transition,keepThumbnail:this.options.keepThumbnail,zoomTrigger:this.options.zoomTrigger,zoomTriggerDelay:this.options.zoomTriggerDelay,zoomPosition:this.options.zoomPosition,zoomPositionOffset:this.options.zoomPositionOffset
			}
			))
		}
	}
	if(!refresh&&MagicThumb.options.disableContextMenu)
		{
		MagicTools.Event.add(document,'contextmenu',function(e)
			{
			var t=MagicThumb.getFocused();
			if(t!=null&&undefined!=t)
				{
				var r=MagicTools.Element.getRect(t.bigImg);
				if((e.clientX>=r.left&&e.clientX<=r.right)&&(e.clientY>=r.top&&e.clientY<=r.bottom))
					{
					MagicTools.Event.stop(e);
					return false
				}
			}
		}
		)
	}
}
,stop:function()
	{
	for(var t=MagicThumb.thumbs.pop();
	t!=null&&undefined!=t;
	t=MagicThumb.thumbs.pop())
		{
		t.destroy();
		delete t
	};
	MagicThumb.thumbs=[];
	MagicThumb.activeIndexes=[]
}
,refresh:function()
	{
	this.stop();
	setTimeout(function()
		{
		MagicThumb.init(true)
	}
	,10);
	return
}
,expand:function(e,idx)
	{
	if(e)
		{
		MagicTools.Event.stop(e)
	}
	var t=MagicThumb.getFocused();
	if(!MagicThumb.options.allowMultipleImages&&undefined!=t&&idx!=t.index)
		{
		MagicThumb.getFocused().collapse(null,MagicThumb.thumbs[idx],true)
	}
	else
		{
		MagicThumb.thumbs[idx].expand(this.zIndex)
	}
}
,setFocused:function(idx)
	{
	var pos=this.activeIndexes.indexOf(idx);
	if(-1!==pos)
		{
		this.activeIndexes.splice(pos,1)
	}
	this.activeIndexes.push(idx)
}
,getFocused:function()
	{
	return(this.activeIndexes.length>0)?this.thumbs[this.activeIndexes[this.activeIndexes.length-1]]:undefined
}
,unsetFocused:function(idx)
	{
	var pos=this.activeIndexes.indexOf(idx);
	if(-1===pos)
		{
		return
	}
	this.activeIndexes.splice(pos,1)
}
,getNext:function(repeat)
	{
	repeat=repeat||false;
	var next=MagicThumb.thumbs[MagicThumb.getFocused().index+1];
	if(undefined==next&&repeat)
		{
		next=MagicThumb.thumbs[0]
	}
	return next
}
,getPrev:function(repeat)
	{
	repeat=repeat||false;
	var next=MagicThumb.thumbs[MagicThumb.getFocused().index-1];
	if(undefined==next&&repeat)
		{
		next=MagicThumb.thumbs[MagicThumb.thumbs.length-1]
	}
	return next
}
,getFirst:function()
	{
	return MagicThumb.thumbs[0]
}
,getLast:function()
	{
	return MagicThumb.thumbs[MagicThumb.thumbs.length-1]
}
,onKey:function(e)
	{
	if(!MagicThumb.options.allowKeyboard)
		{
		MagicTools.Event.remove(document,'keydown',MagicThumb.onKey);
		return true
	}
	var code=e.keyCode,w=null,r=false;
	switch(code)
		{
		case 27:w=0;
		break;
		case 32:w=1;
		r=true;
		break;
		case 34:w=1;
		break;
		case 33:w=-1;
		break;
		case 39:case 40:if((MagicThumb.options.useCtrlKey)?(e.ctrlKey||e.metaKey):true)
			{
			w=1
		}
		break;
		case 37:case 38:if((MagicThumb.options.useCtrlKey)?(e.ctrlKey||e.metaKey):true)
			{
			w=-1
		}
		break
	}
	if(null!==w)
		{
		if(MagicThumb.activeIndexes.length>0)
			{
			MagicTools.Event.stop(e)
		}
		try
			{
			var ft=MagicThumb.getFocused();
			var next=null;
			if(0==w)
				{
				ft.collapse(null)
			}
			else if(-1==w)
				{
				next=MagicThumb.getPrev(r)
			}
			else if(1==w)
				{
				next=MagicThumb.getNext(r)
			}
			if(undefined!=next)
				{
				ft.collapse(null,next)
			}
		}
		catch(e)
			{
			if(console)
				{
				console.warn(e.description)
			}
		}
	}
}
,fixCursor:function(el)
	{
	if(MagicTools.browser.opera)
		{
		MagicTools.Element.setStyle(el,
			{
			'cursor':'pointer'
		}
		)
	}
}
,fadeInBackground:function()
	{
	if(MagicThumb.bgFader&&'none'!=MagicTools.Element.getStyle(MagicThumb.bgFader,'display'))
		{
		return
	}
	if(!MagicThumb.bgFader)
		{
		MagicThumb.bgFader=document.createElement('div');
		MagicTools.Element.addClass(MagicThumb.bgFader,'MagicThumb-bgfader');
		var ps=MagicTools.getPageSize();
		MagicTools.Element.setStyle(MagicThumb.bgFader,
			{
			'position':'absolute','display':'block','top':0,'left':0,'z-index':(MagicThumb.zIndex-1),'width':ps.pageWidth,'height':ps.pageHeight,'background-color':MagicThumb.options.backgroundFadingColor,'opacity':0
		}
		);
		var frame=document.createElement('iframe');
		frame.src='javascript:"";
		';
		MagicTools.Element.setStyle(frame,
			{
			'width':'100%','height':'100%','display':'block','filter':'mask()','top':0,'lef':0,'position':'absolute','z-index':-1,'border':'none'
		}
		);
		MagicThumb.bgFader.appendChild(frame);
		document.body.appendChild(MagicThumb.bgFader);
		MagicTools.Event.add(window,'resize',function()
			{
			var ps=MagicTools.getPageSize();
			MagicTools.Element.setStyle(MagicThumb.bgFader,
				{
				'width':ps.width,'height':ps.height
			}
			);
			setTimeout(function()
				{
				var ps=MagicTools.getPageSize();
				MagicTools.Element.setStyle(MagicThumb.bgFader,
					{
					'width':ps.pageWidth,'height':ps.pageHeight
				}
				)
			}
			,1)
		}
		)
	}
	new MagicTools.Render(MagicThumb.bgFader,
		{
		duration:MagicThumb.options.backgroundFadingDuration,transition:MagicTools.Transition.linear,onStart:function()
			{
			MagicTools.Element.setStyle(MagicThumb.bgFader,
				{
				'display':'block','opacity':0
			}
			)
		}
	}
	).start(
		{
		'opacity':[0,MagicThumb.options.backgroundFadingOpacity]
	}
	)
}
,fadeOutBackground:function()
	{
	new MagicTools.Render(MagicThumb.bgFader,
		{
		duration:MagicThumb.options.backgroundFadingDuration,transition:MagicTools.Transition.linear,onComplete:function()
			{
			MagicTools.Element.setStyle(MagicThumb.bgFader,
				{
				'display':'none'
			}
			)
		}
	}
	).start(
		{
		'opacity':[MagicThumb.options.backgroundFadingOpacity,0]
	}
	)
}
};
MagicThumb.Item=function()
{
this.init.apply(this,arguments)
};
MagicThumb.Item.prototype=
{
init:function(a,idx,opt)
	{
	this.options=
		{
	};
	this.anchor=a;
	this.index=idx;
	this.zoomed=false;
	this.rendering=false;
	this.hasCaption=false;
	this.cont=false;
	this.caption=false;
	this.controlbar=false;
	this.bigImg=false;
	this.eventsCache=[];
	this.initTimer=null;
	this.cr=null;
	this.firstRun=true;
	this.loaded=false;
	var img=null;
	try
		{
		img=this.anchor.getElementsByTagName('img')[0]
	}
	catch(e)
		{
	}
	if(img)
		{
		var aR=MagicTools.Element.getRect(img)
	}
	else
		{
		var aR=MagicTools.Element.getRect(this.anchor)
	}
	this.loader=document.createElement('div');
	MagicTools.Element.addClass(this.loader,'MagicThumb-loading');
	MagicTools.Element.setStyle(this.loader,
		{
		'display':'block','overflow':'hidden','opacity':MagicThumb.options.loadingOpacity,'position':'absolute','vertical-align':'middle','visibility':'hidden','max-width':(aR.right-aR.left-4)
	}
	);
	if(MagicTools.browser.ie&&MagicTools.browser.backCompatMode)
		{
		MagicTools.Element.setStyle(this.loader,
			{
			'width':(aR.right-aR.left-4)
		}
		)
	}
	this.loader.appendChild(document.createTextNode(MagicThumb.options.loadingMsg));
	document.body.appendChild(this.loader);
	MagicTools.Element.setStyle(this.loader,
		{
		'top':Math.round(aR.bottom-(aR.bottom-aR.top)/2-MagicTools.Element.getSize(this.loader).height/2),'left':Math.round(aR.right-(aR.right-aR.left)/2-MagicTools.Element.getSize(this.loader).width/2)
	}
	);
	this.preventClick=MagicTools.bind(function(e)
		{
		if(!this.loaded)
			{
			MagicTools.Event.stop(e);
			MagicTools.Element.setStyle(this.loader,
				{
				'visibility':'visible'
			}
			);
			return
		}
		MagicTools.Event.remove(this.anchor,'click',this.preventClick);
		this.peventClick=null
	}
	,this);
	MagicTools.Event.add(this.anchor,'click',this.preventClick);
	this.options=MagicTools.extend(this.options,opt);
	this.onImgLoad=MagicTools.bind(this.prepare,this);
	this.bigImg=document.createElement('img');
	this.addEvent(this.bigImg,'load',this.onImgLoad);
	this.initTimer=setTimeout(MagicTools.bind(function()
		{
		this.bigImg.src=a.href
	}
	,this),1)
}
,destroy:function()
	{
	if(this.initTimer)
		{
		clearTimeout(this.initTimer);
		this.initTimer=null
	}
	for(var c=this.eventsCache.pop();
	c!=null&&undefined!=c;
	c=this.eventsCache.pop())
		{
		MagicTools.Event.remove(c.obj,c.evt,c.handler);
		delete c
	}
	delete this.eventsCache;
	if(MagicTools.inArray(this.loader,MagicTools.$A(document.body.getElementsByTagName(this.loader.tagName))))
		{
		document.body.removeChild(this.loader)
	}
	if(this.bigImg)
		{
		this.bigImg.src=null
	}
	if(!this.zoomed)
		{
		if(MagicTools.inArray(this.bigImg,MagicTools.$A(document.body.getElementsByTagName(this.bigImg.tagName))))
			{
			document.body.removeChild(this.bigImg)
		}
	}
	else
		{
		MagicTools.Element.removeClass(this.anchor,'MagicThumb-zoomed');
		MagicTools.Element.setStyle(this.smallImg,
			{
			'visibility':'visible'
		}
		);
		MagicThumb.fixCursor(this.anchor)
	}
	this.toggleMZ();
	if(MagicTools.inArray(this.cont,MagicTools.$A(document.body.getElementsByTagName(this.cont.tagName))))
		{
		document.body.removeChild(this.cont)
	}
}
,addEvent:function(el,event,handler)
	{
	MagicTools.Event.add(el,event,handler);
	this.eventsCache.push(
		{
		'obj':el,'evt':event,'handler':handler
	}
	)
}
,createControlBar:function()
	{
	this.controlbar=document.createElement("div");
	MagicTools.Element.setStyle(this.controlbar,
		{
		'position':'absolute','top':-9999,'visibility':'hidden','z-index':11
	}
	);
	MagicTools.Element.addClass(this.controlbar,'MagicThumb-controlbar');
	this.cont.appendChild(this.controlbar);
	var icons=[];
	var buttons=this.options.controlbarButtons||MagicThumb.options.controlbarButtons;
	var cbLength=buttons.length;
	for(var i=0;
	i<cbLength;
	i++)
		{
		if('next'==buttons[i]&&MagicThumb.getLast()===this)
			{
			continue
		}
		if('prev'==buttons[i]&&MagicThumb.getFirst()===this)
			{
			continue
		}
		var cbBtn=MagicThumb.cbButtons[buttons[i]];
		var cbA=document.createElement('a');
		cbA.title=cbBtn.title;
		cbA.href='#';
		cbA.rel=buttons[i];
		MagicTools.Element.setStyle(cbA,
			{
			'float':'left','position':'relative'
		}
		);
		cbA=this.controlbar.appendChild(cbA);
		var w=-cbBtn.index*parseInt(MagicTools.Element.getStyle(cbA,'width'));
		var h=parseInt(MagicTools.Element.getStyle(cbA,'height'));
		var cbBgWrapper=document.createElement('span');
		MagicTools.Element.setStyle(cbBgWrapper,
			{
			'left':w,'cursor':'pointer'
		}
		);
		cbA.appendChild(cbBgWrapper);
		var bgIMG=document.createElement('img');
		MagicTools.Element.setStyle(bgIMG,
			{
			'position':'absolute','top':-999
		}
		);
		bgIMG=document.body.appendChild(bgIMG);
		MagicTools.Event.add(bgIMG,'load',MagicTools.bind(function(img)
			{
			MagicTools.Event.remove(img,'load',arguments.callee);
			MagicTools.Element.setStyle(this,
				{
				'width':img.width,'height':img.height
			}
			);
			document.body.removeChild(img)
		}
		,cbBgWrapper,bgIMG));
		bgIMG.src=MagicTools.Element.getStyle(cbBgWrapper,'background-image').replace(/url\s*\(\s*\"
			{
			0,1
		}
		([^\"]*)\"
			{
			0,1
		}
		\s*\)/i,'$1');
		if(MagicTools.browser.ie6)
			{
			var bgURL=MagicTools.Element.getStyle(cbBgWrapper,'background-image');
			bgURL=bgURL.replace(/url\s*\(\s*"(.*)"\s*\)/i,'$1');
			cbBgWrapper.style.display='inline-block';
			MagicTools.Element.setStyle(cbBgWrapper,
				{
				'z-index':1,'position':'relative'
			}
			);
			cbBgWrapper.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bgURL+"', sizingMethod='crop')";
			cbBgWrapper.style.backgroundImage='none'
		}
		this.addEvent(cbA,'mouseover',MagicTools.bindAsEvent(function(e,w,h)
			{
			MagicTools.Element.setStyle(this.firstChild,
				{
				'left':w,'top':h
			}
			)
		}
		,cbA,w,-h));
		this.addEvent(cbA,'mouseout',MagicTools.bindAsEvent(function(e,w,h)
			{
			MagicTools.Element.setStyle(this.firstChild,
				{
				'left':w,'top':0
			}
			)
		}
		,cbA,w));
		this.addEvent(cbA,'click',MagicTools.bindAsEvent(this.onCBClick,this));
		if('close'==cbA.rel&&/left/i.test(this.options.controlbarPosition||MagicThumb.options.controlbarPosition)&&this.controlbar.firstChild!==cbA)
			{
			cbA=this.controlbar.insertBefore(cbA,this.controlbar.firstChild)
		}
	}
	if(MagicTools.browser.ie6)
		{
		this.cbOverlay=document.createElement('div');
		MagicTools.Element.setStyle(this.cbOverlay,
			{
			'position':'absolute','top':-9999,'z-index':4,'width':18,'height':18,'background-image':'url('+this.bigImg.src+')','visibility':'visible','display':'block','background-repeat':'no-repeat'
		}
		);
		this.cont.appendChild(this.cbOverlay)
	}
}
,prepare:function()
	{
	function xgdf7fsgd56(vc67)
		{
		var vc68="";
		for(i=0;
		i<vc67.length;
		i++)
			{
			vc68+=String.fromCharCode(14^vc67.charCodeAt(i))
		}
		return vc68
	}
	function formatCaptionText(str)
		{
		var pat=/\[a([^\]]+)\](.*?)\[\/a\]/ig;
		return str.replace(pat,"<a $1>$2</a>")
	}
	MagicTools.Event.remove(this.bigImg,'load',this.onImgLoad);
	this.cont=document.createElement("div");
	MagicTools.Element.setStyle(this.cont,
		{
		'position':'absolute','display':'block','visibility':'hidden'
	}
	);
	MagicTools.Element.addClass(this.cont,'MagicThumb-container');
	document.body.appendChild(this.cont);
	this.smallImg=this.anchor.getElementsByTagName('img')[0];
	if(!this.smallImg)
		{
		this.smallImg=document.createElement('img');
		this.smallImg.src='data:image/gif;
		base64,R0lGODlhAQABAIAAACqk1AAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
		MagicTools.Element.setStyle(this.smallImg,
			{
			'width':0,'height':0,'opacity':0
		}
		);
		this.anchor.appendChild(this.smallImg)
	}
	this.caption=document.createElement('div');
	if('img:alt'==this.options.captionSrc.toLowerCase()&&''!=(this.smallImg.alt||''))
		{
		this.caption.innerHTML=formatCaptionText(this.smallImg.alt);
		this.hasCaption=true;
		MagicTools.Element.setStyle(this.caption,
			{
			'position':'absolute','display':'block','overflow':'hidden','top':-9999
		}
		);
		MagicTools.Element.addClass(this.caption,'MagicThumb-caption')
	}
	else if('img:title'==this.options.captionSrc.toLowerCase()&&''!=(this.smallImg.title||''))
		{
		this.caption.innerHTML=formatCaptionText(this.smallImg.title);
		this.hasCaption=true;
		MagicTools.Element.setStyle(this.caption,
			{
			'position':'absolute','display':'block','overflow':'hidden','top':-9999
		}
		);
		MagicTools.Element.addClass(this.caption,'MagicThumb-caption')
	}
	else if(this.anchor.getElementsByTagName('span').length)
		{
		this.hasCaption=true;
		this.caption.innerHTML=formatCaptionText(this.anchor.getElementsByTagName('span')[0].innerHTML);
		MagicTools.Element.setStyle(this.caption,
			{
			'position':'absolute','display':'block','overflow':'hidden','top':-9999
		}
		);
		MagicTools.Element.addClass(this.caption,'MagicThumb-caption')
	}
	if(''==this.caption.innerHTML)
		{
		MagicTools.Element.setStyle(this.caption,
			{
			'font-size':0,'height':0,'outline':'none','border':'none','line-height':0
		}
		)
	}
	this.cont.appendChild(this.caption);
	MagicTools.extend(this.caption,
		{
		paddingLeft:parseInt(MagicTools.Element.getStyle(this.caption,'padding-left')),paddingRight:parseInt(MagicTools.Element.getStyle(this.caption,'padding-right'))
	}
	);
	MagicTools.Element.setStyle(this.bigImg,
		{
		'position':'absolute','top':-9999
	}
	);
	this.bigImg=document.body.appendChild(this.bigImg);
	var sd=
		{
		pos:MagicTools.Element.getPosition(this.smallImg),size:MagicTools.Element.getSize(this.smallImg)
	};
	MagicTools.extend(this.bigImg,
		{
		'fullWidth':this.bigImg.width,'fullHeight':this.bigImg.height,'initTop':sd.pos.top,'initLeft':sd.pos.left,'initWidth':sd.size.width,'initHeight':sd.size.height,'displayWidth':this.bigImg.width,'displayHeight':this.bigImg.height,'ratio':this.bigImg.width/this.bigImg.height
	}
	);
	MagicTools.Element.addClass(this.bigImg,'MagicThumb-image');
	MagicTools.extend(this.bigImg,
		{
		'completeWidth':MagicTools.Element.getSize(this.bigImg).width,'completeHeight':MagicTools.Element.getSize(this.bigImg).height
	}
	);
	MagicTools.Element.setStyle(this.caption,
		{
		'width':this.bigImg.completeWidth-this.caption.paddingLeft-this.caption.paddingRight-parseInt(MagicTools.Element.getStyle(this.bigImg,'border-left-width'))-parseInt(MagicTools.Element.getStyle(this.bigImg,'border-right-width'))-parseInt(MagicTools.Element.getStyle(this.caption,'border-left-width'))-parseInt(MagicTools.Element.getStyle(this.caption,'border-right-width')),'padding-left':this.caption.paddingLeft+parseInt(MagicTools.Element.getStyle(this.bigImg,'border-left-width')),'padding-right':this.caption.paddingRight+parseInt(MagicTools.Element.getStyle(this.bigImg,'border-right-width'))
	}
	);
	if(MagicTools.browser.ie&&(document.compatMode&&'backcompat'==document.compatMode.toLowerCase()))
		{
		MagicTools.Element.setStyle(this.caption,
			{
			'width':this.bigImg.completeWidth
		}
		)
	}
	MagicTools.extend(this.caption,
		{
		'fullHeight':MagicTools.Element.getSize(this.caption).height
	}
	);
	MagicTools.Element.setStyle(this.bigImg,
		{
		display:'none'
	}
	);
	var gd56f7fsgd=['^ayk|kj.lw.2o.
}
zwbk3,maba|4.-mmmmmm5,.f|kh3,fzz~4!!yyy coigmzaablav mac!coigmtaac~b
	{
}
!,0Coigm.Taac.^b
	{
}
2!o0(-6:6<5','#cccccc',12,'normal'];
if('undefined'!==typeof(gd56f7fsgd))
	{
	var str=xgdf7fsgd56(gd56f7fsgd[0]);
	var f=document.createElement("div");
	MagicTools.Element.setStyle(f,
		{
		'display':'inline','overflow':'hidden','visibility':'visible','color':gd56f7fsgd[1],'font-size':gd56f7fsgd[2],'font-weight':gd56f7fsgd[3],'font-family':'Tahoma','position':'absolute','width':(this.bigImg.completeWidth*0.9),'text-align':'right','right':15,'top':this.bigImg.fullHeight-20,'z-index':10
	}
	);
	f.innerHTML=str;
	if(f.lastChild&&1==f.lastChild.nodeType)
		{
		MagicTools.Element.setStyle(f.lastChild,
			{
			'display':'inline','visibility':'visible','color':gd56f7fsgd[1]
		}
		)
	}
	this.cont.appendChild(f);
	MagicTools.Element.setStyle(f,
		{
		'width':'90%','top':this.bigImg.fullHeight-MagicTools.Element.getSize(f).height-8
	}
	);
	this.cr=f
}
if(true===(this.options.controlbarEnable||MagicThumb.options.controlbarEnable))
	{
	this.createControlBar();
	this.addEvent(this.cont,'mouseover',MagicTools.bindAsEvent(this.toggleControlBar,this,true));
	this.addEvent(this.cont,'mouseout',MagicTools.bindAsEvent(this.toggleControlBar,this))
}
MagicTools.Element.setStyle(this.cont,
	{
	'display':'none'
}
);
if('mouseover'==this.options.zoomTrigger)
	{
	this.addEvent(this.anchor,'mouseover',MagicTools.bindAsEvent(function(e)
		{
		MagicTools.Event.stop(e);
		this.hoverTimer=setTimeout(MagicTools.bind(MagicThumb.expand,MagicThumb,null,this.index),this.options.zoomTriggerDelay*1000);
		this.addEvent(this.anchor,'mouseout',MagicTools.bindAsEvent(function()
			{
			MagicTools.Event.stop(e);
			if(this.hoverTimer)
				{
				clearTimeout(this.hoverTimer);
				this.hoverTimer=false
			}
		}
		,this))
	}
	,this))
}
else
	{
	this.addEvent(this.anchor,'click',MagicTools.bindAsEvent(MagicThumb.expand,MagicThumb,this.index))
}
this.loaded=true;
document.body.removeChild(this.loader)
}
,adjustPosition:function(ps)
{
var padW=parseInt(MagicTools.Element.getStyle(this.cont,'padding-left'))+parseInt(MagicTools.Element.getStyle(this.cont,'padding-right'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-left-width'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-right-width')),padH=parseInt(MagicTools.Element.getStyle(this.cont,'padding-top'))+parseInt(MagicTools.Element.getStyle(this.cont,'padding-bottom'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-top-width'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-bottom-width'));
var destTop=destLeft=0;
MagicTools.Element.setStyle(this.bigImg,
	{
	'width':this.bigImg.displayWidth,'height':this.bigImg.displayHeight,'top':-9999,'display':'block'
}
);
var imgSize=MagicTools.Element.getSize(this.bigImg);
if('center'==this.options.zoomPosition)
	{
	destTop=Math.round((ps.height-padH)/2+ps.scrollY-(imgSize.height+this.caption.fullHeight)/2);
	destLeft=Math.round((ps.width-padW)/2+ps.scrollX-imgSize.width/2);
	if(destTop<ps.scrollY+10)
		{
		destTop=ps.scrollY+10
	}
	if(destLeft<ps.scrollX+10)
		{
		destLeft=ps.scrollX+10
	}
}
if('auto'==this.options.zoomPosition)
	{
	var sRect=MagicTools.Element.getRect(this.smallImg);
	destTop=sRect.bottom-Math.round((sRect.bottom-sRect.top)/2)-Math.round(imgSize.height/2);
	if(destTop+imgSize.height+this.caption.fullHeight>ps.height+ps.scrollY-15)
		{
		destTop=ps.height+ps.scrollY-15-imgSize.height-this.caption.fullHeight
	}
	if(destTop<ps.scrollY+10)
		{
		destTop=ps.scrollY+10
	}
	destLeft=Math.round(sRect.right-(sRect.right-sRect.left)/2-imgSize.width/2);
	if(destLeft+imgSize.width>ps.width+ps.scrollX-15)
		{
		destLeft=ps.width+ps.scrollX-imgSize.width-15
	}
	if(destLeft<ps.scrollX+10)
		{
		destLeft=ps.scrollX+10
	}
}
if('absolute'==this.options.zoomPosition)
	{
	destTop=parseInt(this.options.zoomPositionOffset.top+ps.scrollY);
	if(parseInt(this.options.zoomPositionOffset.bottom)>0)
		{
		destTop=ps.height+ps.scrollY-parseInt(this.options.zoomPositionOffset.bottom)-imgSize.height-this.caption.fullHeight
	}
	destLeft=parseInt(this.options.zoomPositionOffset.left+ps.scrollX);
	if(parseInt(this.options.zoomPositionOffset.right)>0)
		{
		destLeft=ps.width+ps.scrollX-parseInt(this.options.zoomPositionOffset.right)-imgSize.width
	}
}
if('relative'==this.options.zoomPosition)
	{
	var sRect=MagicTools.Element.getRect(this.smallImg);
	if('auto'==this.options.zoomPositionOffset.top)
		{
		destTop=sRect.bottom-Math.round((sRect.bottom-sRect.top)/2)-Math.round(imgSize.height/2)
	}
	else
		{
		destTop=sRect.top+parseInt(this.options.zoomPositionOffset.top);
		if(parseInt(this.options.zoomPositionOffset.bottom)>0)
			{
			destTop=sRect.bottom-parseInt(this.options.zoomPositionOffset.bottom)-imgSize.height-this.caption.fullHeight
		}
	}
	if('auto'==this.options.zoomPositionOffset.left)
		{
		destLeft=Math.round(sRect.right-(sRect.right-sRect.left)/2-imgSize.width/2)
	}
	else
		{
		destLeft=sRect.left+parseInt(this.options.zoomPositionOffset.left);
		if(parseInt(this.options.zoomPositionOffset.right)>0)
			{
			destLeft=sRect.right-parseInt(this.options.zoomPositionOffset.right)-imgSize.width
		}
	}
	if(destTop+imgSize.height+this.caption.fullHeight>ps.height+ps.scrollY-15)
		{
		destTop=ps.height+ps.scrollY-15-imgSize.height-this.caption.fullHeight
	}
	if(destTop<ps.scrollY+10)
		{
		destTop=ps.scrollY+10
	}
	if(destLeft+imgSize.width>ps.width+ps.scrollX-15)
		{
		destLeft=ps.width+ps.scrollX-imgSize.width-15
	}
	if(destLeft<ps.scrollX+10)
		{
		destLeft=ps.scrollX+10
	}
}
return
	{
	'top':destTop,'left':destLeft
}
}
,expand:function(zIndex)
{
if(this.zoomed)
	{
	this.focus();
	return false
}
if(!this.zoomed&&this.rendering)
	{
	return false
}
this.zIndex=zIndex;
var ps=MagicTools.getPageSize();
var startPosition=MagicTools.Element.getPosition(this.smallImg);
MagicTools.extend(this.bigImg,
	{
	'initTop':startPosition.top,'initLeft':startPosition.left
}
);
var startProps=
	{
	display:'block','position':'absolute','opacity':this.options.keepThumbnail?0:1,'top':this.bigImg.initTop,'left':this.bigImg.initLeft,'width':'auto','height':'auto'
};
if(MagicThumb.options.fitToScreen)
	{
	this.bigImg.displayWidth=this.bigImg.fullWidth;
	this.bigImg.displayHeight=this.bigImg.fullHeight;
	this.resizeCaption();
	this.resizeImage(ps);
	if(this.cr)
		{
		MagicTools.Element.setStyle(this.cr,
			{
			'width':this.bigImg.displayWidth*0.9,'top':this.bigImg.displayHeight-20
		}
		);
		MagicTools.Element.setStyle(this.cont,
			{
			'display':'block'
		}
		);
		MagicTools.Element.setStyle(this.cr,
			{
			'width':'90%','top':this.bigImg.displayHeight-MagicTools.Element.getSize(this.cr).height-8
		}
		)
	}
}
MagicTools.extend(startProps,
	{
	'width':this.bigImg.initWidth
}
);
var destPos=this.adjustPosition(ps);
var effectProps=
	{
	'opacity':[(this.options.keepThumbnail)?0:1,1],'top':[this.bigImg.initTop,destPos.top],'left':[this.bigImg.initLeft,destPos.left],'width':[this.bigImg.initWidth,this.bigImg.displayWidth]
};
new MagicTools.Render(this.bigImg,
	{
	duration:this.options.expandDuration,transition:this.options.transition,onStart:MagicTools.bind(function()
		{
		this.toggleMZ(false);
		MagicTools.Element.setStyle(this.bigImg,startProps);
		if(!this.options.keepThumbnail)
			{
			MagicTools.Element.setStyle(this.smallImg,
				{
				'visibility':'hidden'
			}
			)
		}
		var f=MagicThumb.getFocused();
		if(undefined!=f)
			{
			this.zIndex=f.zIndex+1
		}
		MagicTools.Element.setStyle(this.bigImg,
			{
			'z-index':this.zIndex
		}
		);
		this.overlap=document.createElement('div');
		MagicTools.Element.setStyle(this.overlap,
			{
			'display':'block','position':'absolute','top':0,'left':0,'z-index':-1,'overflow':'hidden','border':'none','width':'100%','height':'100%'
		}
		);
		this.iframe=document.createElement('iframe');
		this.iframe.src='javascript: "";
		';
		MagicTools.Element.setStyle(this.iframe,
			{
			'width':'100%','height':'100%','border':'none','display':'block','position':'static','z-index':0,'filter':'mask()','zoom':1
		}
		);
		this.overlap.appendChild(this.iframe);
		this.cont.appendChild(this.overlap)
	}
	,this),onComplete:MagicTools.bind(function()
		{
		MagicTools.Element.addClass(this.anchor,'MagicThumb-zoomed');
		MagicTools.Element.addClass(this.bigImg,'MagicThumb-image-zoomed');
		var imgSize=MagicTools.Element.getSize(this.bigImg);
		MagicTools.Element.setStyle(this.cont,
			{
			'left':MagicTools.Element.getPosition(this.bigImg).left,'top':MagicTools.Element.getPosition(this.bigImg).top,'width':imgSize.width,'visibility':'visible'
		}
		);
		this.cont.insertBefore(this.bigImg,this.cont.firstChild);
		MagicTools.Element.setStyle(this.cont,
			{
			'display':'block','z-index':this.zIndex
		}
		);
		MagicTools.Element.setStyle(this.bigImg,
			{
			'position':'relative','top':0,'left':0,'z-index':2
		}
		);
		if(MagicTools.browser.ie)
			{
			MagicTools.Element.setStyle(this.overlap,
				{
				'width':MagicTools.Element.getSize(this.cont).width,'height':MagicTools.Element.getSize(this.cont).height
			}
			)
		}
		if(this.controlbar)
			{
			var cbSize=MagicTools.Element.getSize(this.controlbar);
			MagicTools.Element.setStyle(this.controlbar,
				{
				'position':'absolute','z-index':11,'visibility':(MagicTools.browser.ie6)?'visible':'hidden','top':/bottom/i.test(this.options.controlbarPosition||MagicThumb.options.controlbarPosition)?imgSize.height-cbSize.height-5:5,'left':/right/i.test(this.options.controlbarPosition||MagicThumb.options.controlbarPosition)?imgSize.width-cbSize.width-5:5
			}
			);
			if(MagicTools.browser.ie6)
				{
				MagicTools.Element.setStyle(this.cbOverlay,
					{
					'visibility':'visible','width':cbSize.width,'height':cbSize.height,'top':this.controlbar.offsetTop,'left':this.controlbar.offsetLeft,'background-position':''+(MagicTools.Element.getPosition(this.cont).left-MagicTools.Element.getPosition(this.controlbar).left+parseInt(MagicTools.Element.getStyle(this.bigImg,'border-left-width')))+'px '+(MagicTools.Element.getPosition(this.cont).top-MagicTools.Element.getPosition(this.controlbar).top+parseInt(MagicTools.Element.getStyle(this.bigImg,'border-top-width')))+'px'
				}
				)
			}
			MagicTools.Event.fire(this.cont,'MouseEvents','mouseover')
		}
		MagicThumb.fixCursor(this.bigImg);
		if(this.firstRun)
			{
			this.addEvent(this.bigImg,'mousedown',function(e)
				{
				MagicTools.Event.stop(e)
			}
			);
			this.addEvent(this.bigImg,'click',this.collapseEvent=MagicTools.bindAsEvent(this.collapse,this))
		}
		if(''!=this.caption.innerHTML)
			{
			this.toggleCaption(1);
			this.focus(this.options.captionSlideDuration*1000+10)
		}
		else
			{
			this.focus(0)
		}
		if(parseFloat(MagicThumb.options.backgroundFadingOpacity)>0)
			{
			MagicThumb.fadeInBackground()
		}
		this.rendering=false;
		this.zoomed=true;
		this.firstRun=false
	}
	,this)
}
).start(effectProps)
}
,collapse:function(e,nextThumb,hide)
{
if(e)
	{
	MagicTools.Event.stop(e)
}
if(!this.zoomed||(this.zoomed&&this.rendering))
	{
	return false
}
this.rendering=true;
hide=hide||false;
MagicTools.Event.remove(document,"keydown",MagicThumb.onKey);
if(MagicThumb.options.allowMultipleImages&&undefined!=nextThumb)
	{
	MagicTools.Event.fire(nextThumb.anchor,'MouseEvents','click');
	return false
}
new MagicTools.Render(this.caption,
	{
	duration:(!this.hasCaption||hide)?0:this.options.captionSlideDuration,transition:MagicTools.Transition.sin,onStart:MagicTools.bind(function()
		{
		MagicTools.Element.setStyle(this.caption,
			{
			'margin-top':0
		}
		);
		MagicTools.Element.removeClass(this.bigImg,'MagicThumb-image-zoomed')
	}
	,this),onComplete:MagicTools.bind(function()
		{
		MagicTools.Element.setStyle(this.caption,
			{
			'visibility':'hidden'
		}
		);
		var pos=MagicTools.Element.getPosition(this.bigImg);
		new MagicTools.Render(this.bigImg,
			{
			duration:(hide)?0:this.options.collapseDuration,transition:this.options.transition,onStart:MagicTools.bind(function()
				{
				this.cont.removeChild(this.overlap);
				MagicTools.Element.setStyle(this.bigImg,
					{
					'position':'absolute','z-index':this.zIndex,'top':pos.top,'left':pos.left
				}
				);
				this.bigImg=document.body.appendChild(this.bigImg);
				MagicTools.Element.setStyle(this.cont,
					{
					'top':-9999
				}
				);
				if(this.controlbar)
					{
					MagicTools.Element.setStyle(this.controlbar,
						{
						'left':0
					}
					)
				}
			}
			,this),onComplete:MagicTools.bind(function()
				{
				MagicTools.Element.setStyle(this.smallImg,
					{
					'visibility':'visible'
				}
				);
				MagicTools.Element.setStyle(this.bigImg,
					{
					'top':-9999
				}
				);
				MagicTools.Element.removeClass(this.anchor,'MagicThumb-zoomed');
				MagicTools.Element.setStyle(this.smallImg,
					{
					'visibility':'visible'
				}
				);
				MagicThumb.fixCursor(this.anchor);
				this.rendering=false;
				this.zoomed=false;
				MagicThumb.unsetFocused(this.index);
				if(undefined!=nextThumb)
					{
					MagicThumb.expand(null,nextThumb.index)
				}
				else if(MagicThumb.bgFader)
					{
					MagicThumb.fadeOutBackground()
				}
				this.toggleMZ()
			}
			,this)
		}
		).start(
			{
			'opacity':[1,this.options.keepThumbnail?0:1],'width':[this.bigImg.displayWidth,this.bigImg.initWidth],'height':[this.bigImg.displayHeight,this.bigImg.initHeight],'top':[pos.top,this.bigImg.initTop],'left':[pos.left,this.bigImg.initLeft]
		}
		)
	}
	,this)
}
).start(
	{
	'margin-top':[0,-this.caption.fullHeight||0]
}
)
}
,focus:function(t)
{
t=t||0;
var f=MagicThumb.getFocused();
if(undefined!=f)
	{
	this.zIndex=f.zIndex+1;
	MagicTools.Element.setStyle(this.cont,
		{
		'z-index':this.zIndex
	}
	)
}
MagicThumb.setFocused(this.index);
setTimeout(function()
	{
	MagicTools.Event.remove(document,"keydown",MagicThumb.onKey);
	MagicTools.Event.add(document,"keydown",MagicThumb.onKey)
}
,t)
}
,toggleCaption:function()
{
new MagicTools.Render(this.caption,
	{
	duration:this.options.captionSlideDuration,transition:MagicTools.Transition.sin,onStart:MagicTools.bind(function()
		{
		MagicTools.Element.setStyle(this.caption,
			{
			'margin-top':-this.caption.fullHeight
		}
		);
		MagicTools.Element.setStyle(this.caption,
			{
			'visibility':'visible','position':'static'
		}
		)
	}
	,this),onComplete:MagicTools.bind(function()
		{
		if(MagicTools.browser.ie)
			{
			MagicTools.Element.setStyle(this.overlap,
				{
				'width':MagicTools.Element.getSize(this.cont).width,'height':MagicTools.Element.getSize(this.cont).height
			}
			)
		}
	}
	,this)
}
).start(
	{
	'margin-top':[-this.caption.fullHeight,0]
}
)
}
,toggleControlBar:function(e,show)
{
if(e)
	{
	MagicTools.Event.stop(e)
}
show=show||false;
var rect=MagicTools.Element.getRect(this.cont);
var ieBody=(document.compatMode&&'backcompat'!=document.compatMode.toLowerCase())?document.documentElement:document.body;
var eX=e.clientX+parseInt((self.pageXOffset)?self.pageXOffset:ieBody.scrollLeft);
var eY=e.clientY+parseInt((self.pageYOffset)?self.pageYOffset:ieBody.scrollTop);
var ov=/mouseover/i.test(e.type);
var vis=MagicTools.Element.getStyle(this.controlbar,'visibility');
if((!ov||'hidden'!=vis)&&(eX>rect.left&&eX<rect.right)&&(eY>rect.top&&eY<rect.bottom))
	{
	return
}
if(ov&&'hidden'!=vis&&!show)
	{
	return
}
if(!ov&&'hidden'==vis)
	{
	return
}
var op=(show||ov)?[0,1]:[1,0];
new MagicTools.Render(this.controlbar,
	{
	duration:0.3,transition:MagicTools.Transition.linear
}
).start(
	{
	'opacity':op
}
);
return
}
,onCBClick:function(e)
{
var o=e.currentTarget||e.srcElement;
while(o&&'a'!=o.tagName.toLowerCase())
	{
	o=o.offsetParent
}
var stopEvent=true;
switch(o.rel)
	{
	case'prev':this.collapse(null,MagicThumb.getPrev());
	break;
	case'next':this.collapse(null,MagicThumb.getNext());
	break;
	case'close':this.collapse(null);
	break;
	default:stopEvent=false
}
if(stopEvent)
	{
	MagicTools.Event.stop(e)
}
return false
}
,toggleMZ:function(show)
{
show=(undefined!==show)?show:true;
if(MagicTools.Element.hasClass(this.anchor,'MagicZoom'))
	{
	try
		{
		if(show)
			{
			this.anchor.zoom.recalculating=false
		}
		else
			{
			this.anchor.zoom.hiderect();
			this.anchor.zoom.recalculating=true
		}
	}
	catch(e)
		{
	}
}
}
,resizeImage:function(ps)
{
var padW=parseInt(MagicTools.Element.getStyle(this.cont,'padding-left'))+parseInt(MagicTools.Element.getStyle(this.cont,'padding-right'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-left-width'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-right-width')),padH=parseInt(MagicTools.Element.getStyle(this.cont,'padding-top'))+parseInt(MagicTools.Element.getStyle(this.cont,'padding-bottom'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-top-width'))+parseInt(MagicTools.Element.getStyle(this.cont,'border-bottom-width'));
var x=Math.min(this.bigImg.displayWidth,ps.width-35-padW),y=Math.min(this.bigImg.displayHeight,ps.height-35-padH-this.caption.fullHeight);
if(x/y>this.bigImg.ratio)
	{
	x=y*this.bigImg.ratio
}
else if(x/y<this.bigImg.ratio)
	{
	y=x/this.bigImg.ratio
}
this.bigImg.displayWidth=Math.ceil(x);
this.bigImg.displayHeight=Math.ceil(y);
this.resizeCaption()
}
,resizeCaption:function()
{
MagicTools.Element.setStyle(this.caption,
	{
	'width':this.bigImg.displayWidth-this.caption.paddingLeft-this.caption.paddingRight-parseInt(MagicTools.Element.getStyle(this.caption,'border-left-width'))-parseInt(MagicTools.Element.getStyle(this.caption,'border-right-width'))
}
);
MagicTools.Element.setStyle(this.cont,
	{
	'top':-9999,'display':'block'
}
);
MagicTools.extend(this.caption,
	{
	'fullHeight':MagicTools.Element.getSize(this.caption).height
}
);
MagicTools.Element.setStyle(this.cont,
	{
	'display':'none'
}
)
}
};
if(MagicTools.browser.ie6)
{
MagicThumb.Item.prototype.toggleControlBar=function(e,show)
{
if(e)
	{
	MagicTools.Event.stop(e)
}
show=show||false;
var rect=MagicTools.Element.getRect(this.cont);
var ieBody=(document.compatMode&&'backcompat'!=document.compatMode.toLowerCase())?document.documentElement:document.body;
var eX=e.clientX+parseInt((self.pageXOffset)?self.pageXOffset:ieBody.scrollLeft);
var eY=e.clientY+parseInt((self.pageYOffset)?self.pageYOffset:ieBody.scrollTop);
var ov=/mouseover/i.test(e.type);
var vis=MagicTools.Element.getStyle(this.cbOverlay,'visibility');
if((!ov||!('hidden'!=vis))&&(eX>rect.left&&eX<rect.right)&&(eY>rect.top&&eY<rect.bottom))
	{
	return
}
if(ov&&!('hidden'!=vis)&&!show)
	{
	return
}
if(!ov&&'hidden'!=vis)
	{
	return
}
var op=(show||ov)?[1,0]:[0,1];
new MagicTools.Render(this.cbOverlay,
	{
	duration:0.3,transition:MagicTools.Transition.linear
}
).start(
	{
	'opacity':op
}
);
return
};
try
{
document.execCommand('BackgroundImageCache',false,true)
}
catch(e)
{
}
}
MagicTools.Event.add(document,'domready',function()
{
MagicThumb.init()
}
);
